package cn.ibdsr.human.constant;

import lombok.Getter;
import lombok.Setter;

/**
 * @description 定义返回给外部调用方的错误类型
 * @author chenglx
 * @version V1.0
 * @createDate 2019/10/30 9:52
 * <p>
 * Date Author Description
 * ------------------------------------------------------
 * 2019/10/30 chenglx init
 *
 */
public enum ErrorTypeEnum {

    /**
     * 必填参数为空
     */
    NULL_PARAM(400, "必填参数为空"),
    /**
     * 无效的参数
     */
    INVALID_PARAM(400, "无效的参数"),
    /**
     * 内容不合法
     */
    RISKY_CONTENT(400, "内容不合法"),
    /**
     * 用户未登录
     */
    UNAUTHENTICATED(401, "用户未登录"),
    /**
     * 无操作权限
     */
    UNAUTHORIZED(403, "用户权限不够"),
    /**
     * 结果为空
     */
    NULL_TARGET(404, "结果为空"),
    /**
     * 服务端处理出错
     */
    SERVER_ERROR(500, "服务端错误"),
    /**
     * 服务端处理出错
     */
    LIVE_ITEM_IS_PUBLISH(400, "请先取消发布"),
    /**
     * 语音文件不能超过10M
     */
    VOICE_TOO_LARGE_PARAM(400, "语音文件不能超过10M"),
    /**
     * 图片不能超过5M
     */
    PICTURE_TOO_LARGE_PARAM(400, "图片不能超过5M"),
    ;

    /**
     * http状态码
     */
    @Getter
    @Setter
    private int httpStatusCode;

    /**
     * 关于错误的描述
     */
    @Getter
    @Setter
    private String desc;

    ErrorTypeEnum(int httpStatusCode, String desc) {
        this.httpStatusCode = httpStatusCode;
        this.desc = desc;
    }

}
